The present invention relates generally to computer program user interfaces, and more particularly to presenting information to a user based on the user""s current condition.
As computers become increasingly powerful and ubiquitous, users increasingly use their computers for a broad variety of tasks. For example, in addition to traditional activities such as running word processing and database applications, users increasingly use computers as an integral part of their daily lives. Programs to schedule activities, generate reminders, and provide rapid communication capabilities are becoming increasingly popular. Moreover, computers are increasingly present during virtually all of a person""s daily activities. For example, hand-held computer organizers (e.g., PDAs) are increasingly common, and communication devices such as portable phones are increasingly incorporating computer capabilities. Thus, users may be presented with output information from one or more computers at any time.
While advances in hardware make computers increasingly ubiquitous, traditional computer programs are not typically designed to efficiently present information to users in a wide variety of environments. For example, most computer programs are designed with a prototypical user being seated at a stationary computer with a large display device, and with the user devoting full attention to the display. In that environment, the computer can safely present information to the user at any time, with minimal risk that the user will fail to perceive the information or that the information will disturb the user in a dangerous manner (e.g., by startling the user while they are using power machinery or by blocking their vision while they are moving with information sent to a head-mounted display). However, in many other environments these assumptions about the prototypical user are not true, and users thus may not perceive output information (e.g., failing to notice an icon or message on a hand-held display device when it is holstered, or failing to hear audio information when in a noisy environment or when intensely concentrating). Similarly, some user activities may have a low degree of interruptibility (i.e., ability to safely interrupt the user) such that the user would prefer that the presentation of low-importance or of all information be deferred, or that information be presented in a non-intrusive manner.
In addition to assuming that a user is devoting full attention to the display, current computer programs typically assume that only the user is devoting attention to the computer system. Thus, current computer programs are not concerned with factors related to the user""s environment, such as whether other people around the user are disturbed by information being presented or whether sensitive information is inadvertently made available to others. Instead, current computer programs typically assume that the user will request output information only at appropriate times and that the user will control whether others are privy to output information (e.g., by orienting the display accordingly or adjusting speaker volumes).
However, as computers are increasingly present with users and are designed to present output information other than at a user""s immediate request (e.g., reminding the user of an upcoming appointment), computer programs are increasingly likely to present information in a manner that interrupts the user (and may be bothersome or dangerous), that may not be perceived by the user even if highly important and urgent, that may disturb others around the user, and that may inadvertently reveal sensitive information to others.
A growing trend of using wearable computers will only exacerbate this problem. Such wearable computers are designed to act as constant companions and intelligent assistants to a user, thus being available to receive input from the user at any time and to present output information to the user at any time. Wearable computers are typically strapped to the user""s body or mounted in a holster, and may include a variety of both input and output devices. The close association of wearable computers to their users results in the wearable computer interacting with the user in virtually any social or business situation, and thus the likelihood of inappropriate output behavior increases.
Some embodiments of the present invention provide a method and system for controlling presentation of information to a user based on the user""s current condition. In particular, the system monitors the user and the user""s environment, and creates and maintains an updated model of the current condition of the user. The user condition can include a variety of condition variables, including abstract concepts such as the user""s current cognitive load, desired level of privacy for output information, and desired scope of audience for output information. The user condition can also include condition variables indicating physical characteristics (e.g., deafness) and physically observable characteristics (e.g., movement or proximity to another object) of the user. Upon receiving output information to be presented to the user (e.g., from an application program), the system determines an appropriate output device and an appropriate format with which to present the information to the user, and then presents the output information. In some embodiments, the system also receives description information about the output information that describes relevant factors for determining when and how to present the output information (e.g., the importance and urgency of the output information, the consequences of the user not receiving or ignoring the output information, etc.). The system executes in some embodiments on a wearable computer having a variety of available output display devices.
In one embodiment, the system presents output information to a user by first receiving information about a modeled characteristic of the user which may include a modeled preference of the user for receiving sensitive information, a modeled indication of a current degree of interruptibility of the user, or a modeled preference of the user for an amount of people to perceive information presented by the computer. The system then selects an output device capable of presenting the output information in accordance with the modeled characteristic, and presents the output information on the selected output device in accordance with the modeled characteristic.
In an alternate embodiment, the system presents information to a user on one of multiple available output devices. The system monitors the user to collect information about a current state of the user, and then models a current user condition based on the collected information by determining a current level of privacy desired by the user that indicates a group of people allowed to perceive information presented by the computer, by determining a current scope of audience desired by the user that indicates how many people are intended to perceive information presented by the computer, and by determining a current cognitive load of the user that indicates ability of the user to devote attention to the computer. The system then receives output information to be presented to the user, and presents the output information in a manner consistent with the modeled current user condition by selecting one of the output devices such that information presentation capabilities of the selected output device support the determined current desired level of privacy, the determined current desired scope of audience, and the determined current cognitive load, and by presenting the output information to the user on the selected output device, so that the presentation of information by the system satisfies the modeled current user condition.